package com.blb.community.mapper;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.blb.community.entity.SysDept;
import com.blb.community.entity.SysDictData;
import com.blb.community.entity.SysUser;

import java.util.List;

/**
 * <p>
 * 部门表 Mapper 接口
 * </p>
 *
 * @author 帅帅
 * @since 2022-07-02
 */

public interface SysDeptMapper extends BaseMapper<SysDept> {


    /**
     * 部门列表
     **/
    List<SysDept> getDeptList(SysDept sysDept);

    /**
     * 模糊查询
     */
    List<SysDept> getOneList(SysDept sysDept);

    /**
     * 获取状态
     */
    List<SysDictData> getDict(Long dictId);
    /**
     * 通过id查找
     */
    SysDept getById(long id);
    /**
     * 通过名称查找
     */
    SysDept getByNameAndId(SysDept sysDept);
    /**
     * 添加部门
     */
    void addSysdept(SysDept sysDept);
    /**
     * 修改部门
     */
    void updateDept(SysDept sysDept);
    /**
     * 查询部门是否含有成员
     */
    List<SysUser> getUserByDeptId(long deptId);
    /**
     * 查询部门下是否有子部门
     */
    List<SysDept> getSonDept(long deptId);
    /**
     * 修改状态为1
     */
    void updateStatus1(long deptId);
    /**
     * 修改为0
     */
    void updateStatus(long deptId);
    /**
     * 删除
     */
    void deleteDept(long deptId);
}
